//
//  LWXRadioListController.m
//  EPA
//
//  Created by lanou3g on 16/4/22.
//  Copyright © 2016年 Liuwx. All rights reserved.
//

#import "LWXRadioListController.h"
#import "LWXRadioController.h"
#import "LWXRadioListCell.h"
#import "LWXRadioListModel.h"
#import "LWXNetWorkRequestManager.h"
#import "LWXRadioPalyController.h"
#import "LORefresh.h"
#import "MusicDownloadTask.h"
@interface LWXRadioListController ()
//数组
@property (nonatomic, strong) NSMutableArray *radioArray;

@end

@implementation LWXRadioListController

- (void)dealloc {
    [self.tableView removeObserver:[self.tableView defaultHeader] forKeyPath:@"contentOffset"];
}

- (void)viewDidLoad {
    [super viewDidLoad];
    self.radioArray = [NSMutableArray new];
    
    self.view.backgroundColor = [UIColor redColor];
    
    self.title = @"电台详情";
    
    // 请求数据
    [self loadDataFromServer];
    
    [self.tableView registerNib:[UINib nibWithNibName:@"LWXRadioListCell" bundle:nil] forCellReuseIdentifier:@"radio"];
    
    
    
    
    
    // 上拉加载
    __weak typeof(self) weakSelf = self;
    [self.tableView addRefreshWithRefreshViewType:LORefreshViewTypeHeaderDefault refreshingBlock:^{
        [weakSelf.radioArray removeAllObjects];
        [weakSelf.tableView reloadData];
        [weakSelf loadDataFromServer];
    }];
    
}

- (void)loadDataFromServer {
    
    [LWXNetWorkRequestManager requestURL:[NSURL URLWithString:RADIODETAILLIST_URL] Method:LWX_POST Params:@{@"auth":@"",@"client":@1,@"deviceid":@"63A94D37-33F9-40FF-9EBB-481182338873",@"radioid":self.radioid,@"version":@"3.0.4"}  Result:^(NSData *data, NSURLResponse *response, NSError *error) {
        
        NSMutableDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
        
        NSDictionary *dataDict = jsonDict[@"data"];
        for (NSDictionary *itemDict in dataDict[@"list"]) {
            LWXRadioListModel *rModel = [LWXRadioListModel new];
            [rModel setValuesForKeysWithDictionary:itemDict];
            [self.radioArray addObject:rModel];
        }
        
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.tableView reloadData];
            //手动停止加载
            [[self.tableView defaultHeader] endRefreshing];
            
        });
        
    }];
    
    
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Incomplete implementation, return the number of sections
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete implementation, return the number of rows
    return self.radioArray.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    LWXRadioListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"radio" forIndexPath:indexPath];
    
    cell.model = self.radioArray[indexPath.row];
    
    return cell;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 129;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
    LWXRadioPalyController *playVC = [[LWXRadioPalyController alloc] init];
    
    // 传值
    playVC.radioArray = self.radioArray;
    playVC.currentIndex = indexPath.row;
    
    
    [self.navigationController pushViewController:playVC animated:YES];
}

/*
 // Override to support conditional editing of the table view.
 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
 // Return NO if you do not want the specified item to be editable.
 return YES;
 }
 */

/*
 // Override to support editing the table view.
 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
 if (editingStyle == UITableViewCellEditingStyleDelete) {
 // Delete the row from the data source
 [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
 } else if (editingStyle == UITableViewCellEditingStyleInsert) {
 // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
 }
 }
 */

/*
 // Override to support rearranging the table view.
 - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
 }
 */

/*
 // Override to support conditional rearranging of the table view.
 - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
 // Return NO if you do not want the item to be re-orderable.
 return YES;
 }
 */

/*
 #pragma mark - Navigation
 
 // In a storyboard-based application, you will often want to do a little preparation before navigation
 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
 // Get the new view controller using [segue destinationViewController].
 // Pass the selected object to the new view controller.
 }
 */

@end
